package com.guigu.health.dao;

import com.guigu.health.pojo.*;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface SetmealMapper {
    long countByExample(SetmealExample example);

    int deleteByExample(SetmealExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Setmeal record);

    int insertSelective(Setmeal record);

    List<Setmeal> selectByExample(SetmealExample example);

    Setmeal selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Setmeal record, @Param("example") SetmealExample example);

    int updateByExample(@Param("record") Setmeal record, @Param("example") SetmealExample example);

    int updateByPrimaryKeySelective(Setmeal record);

    int updateByPrimaryKey(Setmeal record);

    /**
     * 根据用户账号查找套餐类
     *
     * @param account
     * @return
     */
    List<SetMemberDetails> querySetMealByAccount(@Param("account") String account);

    /**
     * 套餐预约人数总数
     *
     * @return
     */
    List<Map<String, Object>> packageReservationNumber();

    /**
     * 批量添加
     *
     * @param list
     * @return
     */
    int addSetMealCheckGroup(@Param("list") List<Setmeal_CheckgroupKey> list);

    /**
     * 根据id删除套餐和检查组中的映射
     *
     * @param id
     */
    void deleteSetMealKey(@Param("id") int id);

    /**根据套餐id查询出他对应的检查组id
     * @param id
     * @return
     */
    List<Integer> getSetMealIds(@Param("id") int id);


    /**
     * 添加检查组和套餐中的映射
     * @param setMealId
     * @param checkGroupId
     */
    void addSetMealKey(@Param("setMealId") int setMealId, @Param("checkGroupId") int checkGroupId);

    int count(@Param("code") String code);
}